home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / dev / amos / moreusel.lha / OpenIntScreen.AMOS / OpenIntScreen.amosSourceCode
AMOS Source Code  |  1997-04-18  |  2KB  |  106 lines

  1. ' OpenIntScreen by Chris Hodges (21-May-95)
  2. Screen Open 0,320,256,32,0
  3. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  4. ' Assign TAG list  
  5. Gosub INITSCREENTAGS
  6. ' Reserve memory for a colormap structure
  7. Reserve As Work 14,33*8
  8. ST=Start(14)
  9. For A=0 To 31
  10.   C= Colour(A)
  11.   Doke ST,A
  12.   Doke ST+2,(C and $F00)/256
  13.   Doke ST+4,(C and $F0)/16
  14.   Doke ST+6,C and $F
  15.   Add ST,8
  16. Next 
  17. Doke ST,-1
  18. ' Create Taglist... add tags at your choice... 
  19. TAGSTART
  20. TAG[SA_QUIET,-1]
  21. TAG[SA_WIDTH,320]
  22. TAG[SA_HEIGHT,256]
  23. TAG[SA_DEPTH,5]
  24. TAG[SA_TYPE,$F] : Rem CUSTOMSCREEN, $2=PUBSCREEN     
  25. TAG[SA_BITMAP,Leek(Screen Base+$150)] : Rem AMOS Bitmap structure
  26. TAG[SA_COLORS,Start(14)]
  27. TAG[0,0]
  28. ' Now open the screen... 
  29. Amos To Back 
  30. Areg(0)=0 : Areg(1)=Start(15)
  31. SCR=Intcall(-$264) : Rem OpenScreenTagList
  32. If SCR<>0
  33.   ' Draw some thingies on the screen...
  34.   Gr Writing 0
  35.   For A=1 To 31
  36.     Ink A : Text 31-A,100-A,"This is AMOS calling intuition!"
  37.     Circle 200,170,A
  38.   Next 
  39.   ' Provisory "wait left mouse button" routine... no not use 
  40.   ' in your programs, write system conform replacements please...
  41.   Repeat : Multi Wait : Until(Peek($BFE001) and 64)=0
  42.   ' Close screen (or wait until all windows have been closed)
  43.   Repeat 
  44.     Areg(0)=SCR : RES=Intcall(-$42) : Multi Wait 
  45.   Until RES=1
  46. End If 
  47. Amos To Front 
  48. Erase 15
  49. Erase 14
  50. End 
  51. ' Screen Tags... refer to intuition/screens.i includes for detailed  
  52. ' information on the tags... 
  53. INITSCREENTAGS:
  54.   TS=$80000000+33
  55.   SA_LEFT=TS
  56.   SA_TOP=TS+1
  57.   SA_WIDTH=TS+2
  58.   SA_HEIGHT=TS+3
  59.   SA_DEPTH=TS+4
  60.   SA_DETAILPEN=TS+5
  61.   SA_BLOCKPEN=TS+6
  62.   SA_TITLE=TS+7
  63.   SA_COLORS=TS+8
  64.   SA_ERRORCODE=TS+9
  65.   SA_FONT=TS+10
  66.   SA_SYSFONT=TS+11
  67.   SA_TYPE=TS+12
  68.   SA_BITMAP=TS+13
  69.   SA_PUBNAME=TS+14
  70.   SA_PUBSIG=TS+15
  71.   SA_PUBTASK=TS+16
  72.   SA_DISPLAYID=TS+17
  73.   SA_DCLIP=TS+18
  74.   SA_OVERSCAN=TS+19
  75.   SA_OBSOLETE1=TS+20
  76. ' *BOOLEANS* 
  77.   SA_SHOWTITLE=TS+21
  78.   SA_BEHIND=TS+22
  79.   SA_QUIET=TS+23
  80.   SA_AUTOSCROLL=TS+24
  81.   SA_PENS=TS+25
  82.   SA_FULLPALETTE=TS+26
  83.   SA_COLORMAPENTRIES=TS+27
  84.   SA_PARENT=TS+28
  85.   SA_DRAGGABLE=TS+29
  86.   SA_EXCLUSIVE=TS+30
  87.   SA_SHAREPENS=TS+31
  88.   SA_BACKFILL=TS+32
  89.   SA_INTERLEAVED=TS+33
  90.   SA_COLORS32=TS+34
  91.   SA_VIDEOCONTROL=TS+35
  92.   SA_FRONTCHILD=TS+36
  93.   SA_BACKCHILD=TS+37
  94.   SA_LIKEWORKBENCH=TS+38
  95.   SA_RESERVED=TS+39
  96.   SA_MINIMIZEISG=TS+40
  97. Return 
  98. Procedure TAGSTART
  99.   Shared TAGST
  100.   Reserve As Work 15,128
  101.   TAGST=Start(15)
  102. End Proc
  103. Procedure TAG[TAG,V]
  104.   Shared TAGST
  105.   Loke TAGST,TAG : Loke TAGST+4,V : Add TAGST,8
  106. End Proc